home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PCMania 64
/
PCMania CD64_1.iso
/
pcmania
/
render64
/
foro
/
monterde
/
carlos
/
chaingun.inc
< prev
next >
Wrap
Text File
|
1997-10-20
|
10KB
|
182 lines
/* Cañon Multiple para Orcos (CMO) o el DestrozaEjercitos, por
Carlos Monterde Escudero (Monticom)
1997. */
//El número Pi, muy util en rotaciones
#declare Pi = 3.141592654
//Todas las texturas que voy a usar (no uso ninguna de las librerias)
#declare Metal1 = texture{pigment {color rgb <.1,.1,.1>}
finish {metallic ambient 0 diffuse .5 specular .5 roughness .001 brilliance .3}
}
#declare Metal2 = texture{pigment{color rgb<.5,.3,.2>}
finish {ambient .1 metallic specular .8 roughness .1/20
diffuse .3 brilliance 2 reflection .01}}
#declare Metal3= texture{pigment{color rgb<.5,.45,.55>}
finish {ambient .2 metallic specular 1 roughness 1/80
diffuse .6 brilliance 5 reflection .5}}
#declare Maderita = pigment{wood color_map{[0.0 color rgb <.3,.1,.1>]
[0.2 color rgb <.4,.2,.1>]
[0.5 color rgb <.5,.3,.2>]
[0.8 color rgb <.4,.2,.1>]
[1.0 color rgb <.3,.1,.1>]}}
#declare Madera = texture{pigment{Maderita}}
#declare gamusino = texture{ pigment{
image_map{
gif "gamusino.gif"
filter 1 1
once
}
scale .8
translate <-.4,-.4,0>}
finish{diffuse .4}
}
#declare suciedad = texture{pigment{bozo color_map{
[0.0 color rgbt<.1,.1,.1,.2>]
[0.5 color rgbt<.1,.1,.1,.8>]
[1.0 color rgbt<.1,.1,.1,.2>]}
turbulence .5}scale .2}
#declare ceniza = texture{pigment{color rgb<.1,.1,.1>}
finish{diffuse .5} }
#declare Ceniza=texture{gradient z texture_map{
[0.00 Metal2]
[0.75 Metal2]
[0.95 ceniza]
[1.0 ceniza]}
turbulence .5
scale <1,1,3.5> }
//y desde aqui defino todos los objetos
//primer objeto, la base delantera, donde se apoya en CMO
#declare base_delantera = union{difference{cylinder{<0,0,-.05><0,0,.05> .75 texture{Metal1}}
plane{-y,0 texture{Metal1}}
cylinder{<0,0,-.06><0,0,.06> .69 texture{Metal1}}
torus{.69, .05 texture {Metal1} rotate x*90}}
union{difference{cylinder{<0,0,-.15> <0,0,.05> 1.27 pigment{Maderita scale .2 turbulence .2}}
cylinder{<0,0,-.16><0,0,.06> 1.1 pigment{Maderita scale .2 turbulence .2}}
plane{y,0 pigment {Maderita}}}
difference{cylinder{<-.1,0,0><.1,0,0> 1.25 pigment{Maderita scale .23 turbulence .25}}
cylinder{<-.8,0,0><.8,0,0> 1.1 pigment{Maderita scale .23 turbulence .25}}
plane{y,0 pigment{Maderita}}
plane{-z,0 pigment{Maderita}}}
translate y*-2}
}
// y la base trasera, para colocar el percutor y hacer posible el giro
#declare barra_principal_inferior = difference{cylinder{<0,0,0> <0,0,.2> .75 texture{Metal1}}
cylinder{<0,0,-1> <0,0,1> .65 texture{Metal1}}
plane{-y,0 texture{Metal1}}}
#declare barra_principal_superior =union{ difference{cylinder{<0,0,0> <0,0,.2> .75 texture{Metal1}}
cylinder{<0,0,-1> <0,0,1> .65 texture{Metal1}}
plane{y,0 texture{Metal1} }}
box{<-.2,.70,-.1> <.2 ,.80,.1> texture{Metal1} }
box{<-.05,.75,-.8><.05,.80,.1> texture{Metal1} }
box{<-.05,.70,-.8><.05,.75,-.70> texture{Metal1}}
}
#declare base=difference{ union{box{<-.1,-2,-.1><.1,1.4,.1> rotate z*45 pigment{Maderita scale .2 turbulence .2}}
box{<-.1,-2,-.1><.1,1.4,.1> rotate z*-45 pigment{Maderita scale .17 turbulence .1}}
union{box{<-.15,.6,-.15><.15,1.5,.15> texture{Metal1}}
sphere{<-.07,.9,-.15>,.05 texture{Metal3}}
sphere{<.07,.9,-.15>,.05 texture{Metal3}}
sphere{<-.07,.9,.15>,.05 texture{Metal3}}
sphere{<.07,.9,.15>,.05 texture{Metal3}}
sphere{<-.07,1.2,-.15>,.05 texture{Metal3}}
sphere{<.07,1.2,-.15>,.05 texture{Metal3}}
sphere{<-.07,1.2,.15>,.05 texture{Metal3}}
sphere{<.07,1.2,.15>,.05 texture{Metal3}}
rotate z*45}
union{box{<-.15,.6,-.15><.15,1.5,.15> texture{Metal1}}
sphere{<-.07,.9,-.15>,.05 texture{Metal3}}
sphere{<.07,.9,-.15>,.05 texture{Metal3}}
sphere{<-.07,.9,.15>,.05 texture{Metal3}}
sphere{<.07,.9,.15>,.05 texture{Metal3}}
sphere{<-.07,1.2,-.15>,.05 texture{Metal3}}
sphere{<.07,1.2,-.15>,.05 texture{Metal3}}
sphere{<-.07,1.2,.15>,.05 texture{Metal3}}
sphere{<.07,1.2,.15>,.05 texture{Metal3}}
rotate z*-45}
sphere{<0,0,-.1>,.08 texture{Metal3}}
sphere{<0,0,.1>,.08 texture{Metal3}}
object{barra_principal_inferior translate y*1.2}
object{barra_principal_superior
translate y*1.2} /*Para posicion cerrada*/
//rotate z*90 translate <-.75,1.95,0>} /*Para posicion abierta*/
}
plane {y,-.8}}
//y a partir de aquí, el CMO en sí
#declare cinturon = torus{.69, .05 texture {Metal2} rotate x*90}
#declare manubrio = union{cylinder{<0,0,1><0,0,-.4> .07 pigment{color rgb<.4,.3,.2>}}
cylinder{<-.1, 0, -.35><.5,0,-.35> .045 pigment{color rgb<.4,.3,.2>}}
cylinder{<.45,0,-.35> <.45,0,-.4> .06 pigment{color rgb<.4,.3,.2>}}
cylinder{<.45,0,-.4> <.45,0,-.65> .07 pigment{color rgb<.6,.2,.1>}
normal{bumps 1 scale .01}}}
#declare tapadera = cylinder{<0,0,0> <0,0,.1> .5
texture{Madera scale <.1,.25,.15>}
texture{gamusino}
}
#declare tapadera1 = cylinder{<0,0,0> <0,0,.1> .5
texture{Madera scale <.1,.25,.15>}
}
#declare cannon =union{difference{cylinder{<0,0,0><0,0,3.5> 0.1 texture{Ceniza}}
cylinder{<0,0,1><0,0,4> 0.07 texture{Metal1}}
}
sphere{<0,0,0>,0.1 texture{Metal2}}
cylinder{<0,0,0.5><0,0,0.7> 0.15 texture{Metal2}}
cylinder{<0,0,1><0,0,1.2> 0.15 texture {Metal2}}
cylinder{<0,0,.01> <0,.15,.01> .01 texture{Metal3}}
}
#declare cuerpo= union{object{tapadera translate<0,0,3.3>}
object{tapadera1 translate<0,0,0.1>}
object{cinturon translate z*3}
#declare X=0
#declare R=.55
#declare Y=R
#declare n=1
#while (n<17)
object{cannon rotate z*(-22.5*n +22.5) translate<X,Y,0>}
#declare X=R*sin(n*0.392699081)
#declare Y=R*cos(n*0.392699081)
#declare n=n+1
#end
manubrio
}
#declare CMO = union{object{cuerpo}
object{base translate <0,-1.2,.8>}
object{base_delantera translate z*3}
translate y*2
scale .5}
//Hasta aquí, el modelo básico